草庐IT

Java 反射与代码生成

全部标签

javascript - 使用 Babel 和 Webpack 生成多个输出

我想将我的Javascript应用程序转换成两个不同的Javascript文件:第一个用于旧版浏览器第二个用于现代浏览器计划为现代移动浏览器构建更小的版本,同时仍支持较旧的遗留桌面浏览器。babel-cli允许预设,因此我可以将其设置为“env”,但似乎没有办法在.babelrc这意味着必须更改.babelrc文件。Webpack允许使用babel-loader来指定目标浏览器,但似乎没有办法针对不同的浏览器目标使用它两次环境有什么方法可以简单地实现我所需要的吗? 最佳答案 所以我自己找到了一种方法,不确定它是否是最优雅的解决方案,

javascript - 使用 NodeJS 生成服务器端 HighStock 图表

我正在使用HighStock在浏览器中生成一些图表。但是现在我想将其中一些存储在服务器上。所以我知道HighCharts可以导出到服务器,但如果可能的话我宁愿使用其他方式。事情是在服务器上运行HighStock并将svg转换为某种图像格式,然后将其存储在那里。快速谷歌搜索给我thispage.结合HighCharts和NodeJS似乎是正确的方法,但此解决方案不适用于较新版本的HighCharts。更准确地说,使用jsdom带有HighStockv1.0.2的NodeJS中的模块(v0.2.10-最新)(查看以下代码):varjsdom=require('jsdom');varfs=r

javascript - 如何找到等待 promise 的 JavaScript 代码

我们有一个相当复杂的JavaScript异步系统。JavaScript库中的所有函数都设计为异步的。我们主要使用AngularJS延迟对象,一些部分使用jQuery(不过我们不会将它们混在一起——即Angular代码等待Angular延迟promise)。我们遇到的问题是代码在启动时似乎“挂起”,5次中有2次。缓存JS代码和promise解析的时间似乎有问题。似乎没有任何工具或任何东西可以指出发生挂起时有问题的代码正在等待什么。如何找到等待promise的JavaScript代码?谢谢。 最佳答案 所以错误实际上最终与promise

javascript - "new"和直接调用生成器函数有什么区别?

我知道“新建”和直接调用普通函数的区别。但是生成器函数的情况如何呢?例如:function*counter(){letn=0;while(n他们好像一样? 最佳答案 生成器允许您通过编写一个可以维护其自身状态的函数来定义迭代算法。生成器是一种特殊类型的函数,可作为迭代器的工厂。如果一个函数包含一个或多个yield表达式,它就成为一个生成器。当一个生成器函数被调用时,函数体不会立即执行;相反,它返回一个生成器迭代器对象。每次调用生成迭代器的next()方法都会执行函数体直到下一个yield表达式并返回其结果。当到达函数末尾或返回语句时

javascript - ES6 生成器 : transforming callbacks to iterators

我正在babel的帮助下试验ES6生成器,而且我很难理解如何(或者如果!)我可以有效地使用基于回调的异步函数来输出迭代器。假设我希望能够编写一个函数,该函数接受多个url,异步下载它们并在下载后立即返回它们。我希望能够编写如下内容:leturls=['http://www.google.com','http://www.stackoverflow.com'];for({url,data}ofdownloadUrls(urls)){console.log("Contentofurl",url,"is");console.log(data);}如何实现downloadUrls?理想情况下,

javascript - 我在使用毯子的 Mocha 代码覆盖率中获得 0% 覆盖率 0 SLOC

我正在尝试获取MOCHAJS测试中的代码覆盖率。我正在使用毯子,但我得到0%的覆盖率0SLOC为什么我不明白。我的package.json是{"name":"basics","version":"1.0.0","description":"","main":"index.js","scripts":{"test":"mocha&&mochatest--requireblanket--reporterhtml-cov>coverage.html"},"author":"","license":"MIT","devDependencies":{"chai":"~2.2.0","mocha"

javascript - QML - 将 JS 函数的代码作为字符串获取

似乎可以在JavaScript中获取函数的代码,而且非常简单:functionfoo(){...}foo.toString()但是,在QML中这样做给我带来了一个相当乏味的function(){[code]}那么有没有办法也得到[code]部分呢?我也试过JSON.stringify()但没有任何效果。 最佳答案 我想总结一下评论中的讨论,因为这可以作为future搜索的一个很好的回应。如评论中所述,它看起来是QML的一个明显错误。Here他们声称:theQMLruntimeimplementstheECMAScriptLangua

javascript - 使用对象变量屏蔽参数时,转译代码会抛出错误

我们尝试将以下代码移植到ES6:functionapitest(data){data.cb(true);}functiontest(cb){apitest({cb:function(data){commit(cb,data);}});functioncommit(cb,data){cb(data);}}test(data=>{document.write(data);});它可能看起来有点困惑,但它确实符合我们的预期(返回true)并且不会抛出错误。但是,Babel将其转译为:"usestrict";functionapitest(data){data.cb(true);}functi

javascript - 如何将 `data-trim` 和 `data-noescape` 应用于 Reveal.js 中的 Markdown 代码块?

有没有办法在markdown代码块中使用以下两个属性(而不是使用HTML)?...我尝试在页面加载后以编程方式添加这些,但它们没有被使用(有意义)。我还查看了是否可以通过将这些设置作为选项传递给marked.js来始终拥有这些设置。/markdown.js但插件似乎不允许这样做。这与使用Reveal.js有关-seedocumentation. 最佳答案 我目前的解决方法是使用inlinehtml相反:...elementattributes不幸的是,hack似乎没有添加空属性。 关于j

javascript - JSDoc 生成文档中的分组函数

我正在使用documentationjs(它在幕后使用jsdoc)来处理我正在处理的库的文档生成。我的lib是用ES6编写的并且功能齐全,目前生成的文档是lib中所有模块的所有函数的按字母顺序排列的列表。这使得很难找到您要查找的内容。我应该如何使用jsdoc注释,以便将一个文件中的函数组合在文档中?例如,给定以下文件....../***Docsforalpha*/exportconstalpha=(){};/***Docsforbeta*/exportconstbeta=(){};/***Docsforcharlie*/exportconstcharlie=(){};…我应该如何使用j